Lambda Expressions কী এবং কিভাবে কাজ করে

Mobile App Development - কটলিন (Kotlin) - Lambda এবং Higher-order Functions
313

Lambda Expressions কী এবং কিভাবে কাজ করে

Lambda Expressions হলো অ্যানোনিমাস ফাংশন (অর্থাৎ নামহীন ফাংশন) যা কোনো ফাংশনাল প্রোগ্রামিং কনটেক্সটে ব্যবহৃত হয়। কটলিনে lambda expressions কোডকে আরও সংক্ষিপ্ত এবং পাঠযোগ্য করে তোলে এবং ফাংশনাল প্রোগ্রামিং কনসেপ্টগুলোকে সাপোর্ট করে।

Lambda expressions-এর মাধ্যমে আপনি ফাংশনগুলোকে প্যারামিটার হিসেবে পাস করতে পারেন, যা কোডের পুনঃব্যবহারযোগ্যতা এবং ফ্লেক্সিবিলিটি বাড়ায়।


১. Lambda Expressions এর সিনট্যাক্স

কটলিনে lambda expression-এর সাধারণ সিনট্যাক্স হল:

val lambdaName: (ParameterType) -> ReturnType = { parameters -> body }

উদাহরণ:

val sum: (Int, Int) -> Int = { a, b -> a + b }

ব্যাখ্যা:

  • sum একটি lambda expression যা দুইটি Int প্যারামিটার গ্রহণ করে এবং তাদের যোগফল রিটার্ন করে।

২. Lambda Expressions কিভাবে কাজ করে

Lambda expressions-এর মাধ্যমে আপনি একটি ফাংশনকে সহজেই একটি ভ্যারিয়েবলে সংরক্ষণ করতে পারেন এবং তা পরে ফাংশন হিসেবে ব্যবহার করতে পারেন।

উদাহরণ:

fun main() {
    val add: (Int, Int) -> Int = { a, b -> a + b }
    println(add(5, 3)) // আউটপুট: 8
}

ব্যাখ্যা:

  • এখানে add lambda expression দুইটি সংখ্যা যোগ করার জন্য ব্যবহৃত হচ্ছে।

৩. Lambda Expressions কে একটি ফাংশনের প্যারামিটার হিসেবে ব্যবহার করা

Lambda expressions সাধারণত ফাংশনের প্যারামিটার হিসেবে ব্যবহৃত হয়। নিচের উদাহরণে operation ফাংশনে lambda expression প্যারামিটার হিসেবে ব্যবহার করা হয়েছে:

fun operateOnNumbers(a: Int, b: Int, operation: (Int, Int) -> Int): Int {
    return operation(a, b)
}

fun main() {
    val result = operateOnNumbers(10, 5) { x, y -> x + y }
    println(result) // আউটপুট: 15
}

ব্যাখ্যা:

  • operateOnNumbers ফাংশনটি দুটি সংখ্যা এবং একটি lambda expression গ্রহণ করছে, যা গণনা করার জন্য ব্যবহৃত হচ্ছে।

৪. Single Parameter Lambda Expressions

যদি lambda expression-এ একটি মাত্র প্যারামিটার থাকে, তবে আপনি it কীওয়ার্ড ব্যবহার করতে পারেন।

উদাহরণ:

val square: (Int) -> Int = { it * it }
println(square(4)) // আউটপুট: 16

ব্যাখ্যা:

  • এখানে it স্বয়ংক্রিয়ভাবে একমাত্র প্যারামিটার হিসাবে ব্যবহৃত হচ্ছে।

৫. Returning Multiple Values

Lambda expressions দিয়ে আপনি একটি কলব্যাক ফাংশন লিখতে পারেন যা একাধিক ভ্যালু রিটার্ন করতে পারে।

উদাহরণ:

val multipleValues: (Int) -> Pair<Int, Int> = { it to it * it }
val (num, square) = multipleValues(5)

println("Number: $num, Square: $square") // আউটপুট: Number: 5, Square: 25

ব্যাখ্যা:

  • এখানে multipleValues lambda expression একটি Pair রিটার্ন করছে, যা একটি সংখ্যা এবং তার স্কোয়ার ধারণ করছে।

৬. Higher-order Functions

Lambda expressions কটলিনের higher-order functions-এর একটি গুরুত্বপূর্ণ অংশ। Higher-order functions হল এমন ফাংশন যা অন্য ফাংশনকে প্যারামিটার হিসেবে গ্রহণ করে বা একটি ফাংশনকে রিটার্ন করে।

উদাহরণ:

fun filterEvenNumbers(numbers: List<Int>, predicate: (Int) -> Boolean): List<Int> {
    return numbers.filter(predicate)
}

fun main() {
    val numbers = listOf(1, 2, 3, 4, 5, 6)
    val evenNumbers = filterEvenNumbers(numbers) { it % 2 == 0 }
    println(evenNumbers) // আউটপুট: [2, 4, 6]
}

ব্যাখ্যা:

  • এখানে filterEvenNumbers ফাংশনটি একটি লিস্ট এবং একটি lambda expression গ্রহণ করছে, যা সংখ্যা ফিল্টার করতে ব্যবহৃত হচ্ছে।

উপসংহার

Lambda Expressions কটলিনে একটি শক্তিশালী ফিচার, যা ফাংশনাল প্রোগ্রামিং কনসেপ্টগুলোর বাস্তবায়ন সহজ করে। Lambda expressions আপনাকে কোডকে আরো সংক্ষিপ্ত, পরিষ্কার, এবং পুনঃব্যবহারযোগ্য করে তোলে।

Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...